<template>
  <div>
    <UploadExcel :on-success="handleSuccess" />
  </div>
</template>
<script>
import { importEmployee } from '@/api/employees'
import { formatExcelDate } from '@/utils'
export default {
  name: '',
  data() {
    return {

    }
  },
  computed: {
  },
  created() {
  },
  methods: {
    async handleSuccess({ results }) {
    //   console.log(results, header)
    /*
      步骤：
      1-将数据中的每一项的字段转换成英文  results中是中文
      2-发送请求
        2-1 封装api接口函数
        2-2 调用函数
        2-3 成功后==跳转会员工页面
      */

      /* 方法2： 封装方法 */
      const newResults = this.transData(results)
      //   console.log(newResults, 985555)

      /* 实现调用接口函数发送请求实现批量上传员工 */
      const res = await importEmployee(newResults) //  注意点：批量上传手机号一定要是唯一值
    //   console.log(res, 4444444)
    },
    transData(results) {
      const mapInfo = {
        入职日期: 'timeOfEntry',
        手机号: 'mobile',
        姓名: 'username',
        转正日期: 'correctionTime',
        工号: 'workNumber',
        部门: 'departmentName',
        聘用形式: 'formOfEmployment'

      }

      return results.map(item => {
        const newObj = {} // 定义新的对象，收集转换后的数据
        const zhKeys = Object.keys(item) // ['姓名', '手机号', '入职日期', '转正日期', '工号', '部门']
        // console.log(results, 5656565656)
        zhKeys.forEach(key => {
          // obj 对象中添加英文树形并赋值 --- 将中文对象转换成英文对象
          // mapInfo[key] 英文键
        //   console.log(mapInfo[key], 989898989)
          // 如果 mapInfo 中的值等于 timeOfEntry 或者 correctionTime ， 就调用 Excel时间转JS的函数 ，把时间转换成 JS 的时间，并赋值给 mapInfo
          if (mapInfo[key] === 'timeOfEntry' || mapInfo[key] === 'correctionTime') {
            newObj[mapInfo[key]] = new Date(formatExcelDate(item[key]))
          } else {
            //   将中文键里面的值 赋值给 英文键
            newObj[mapInfo[key]] = item[key]
            // console.log(item[key], 5555555)
          }
        })
        return newObj
      })
      /*
      步骤：
      1-将数据中的每一项的字段转换成英文  results中是中文
      2-发送请求
        2-1 封装api接口函数
        2-2 调用函数
        2-3 成功后==跳转会员工页面
      */
    }

  }
}
</script>
<style lang='less'  scoped>

</style>
